package lpca.test 
{
	import flash.display.Sprite;
	/**
	 * ...
	 * @author figishe
	 */
	public class TestPatternDependences extends Sprite
	{
		private var vec: Vector.<Vector.<Vector.<Vector.<int>>>>; 
		
		public function TestPatternDependences() 
		{
			
			var total:int = 0;
			vec = new Vector.<Vector.<Vector.<Vector.<int>>>>(4);
			for (var s1: int = 0; s1 < 4; s1++)
			{
				vec[s1] = new Vector.<Vector.<Vector.<int>>>;
				for (var s2: int = 0; s2 < 4; s2++)
				{
					vec[s1][s2] = new Vector.<Vector.<int>>;
					for (var s3: int = 0; s3 < 4; s3++)
					{
						vec[s1][s2][s3] = new Vector.<int>(4);
					}
				}
			}
			
			for (var s1: int = 0; s1 < 4; s1++)
			{
				for (var s2: int = 0; s2 < 4; s2++)
				{
					for (var s3: int = 0; s3 < 4; s3++)
					{
						for (var s4: int = 0; s4 < 4; s4++)
						{
							if (vec[s1][s2][s3][s4] == 0)
							{
								total++;
								trace('>', s1, s2, s3, s4);
								// помечаем те комбинации, которые можно получить поворотами \ отражениями
								//vec[s1][s2][s3][s4] = 1;
								vec[s4][s1][s2][s3] = 1;
								vec[s3][s4][s1][s2] = 1;
								vec[s2][s3][s4][s1] = 1;
								vec[s4][s3][s2][s1] = 1;
								vec[s3][s2][s1][s4] = 1;
								vec[s2][s1][s4][s3] = 1;
								vec[s1][s4][s3][s2] = 1;
								//vec[s][s][s][s] = 1;
								//vec[s][s][s][s] = 1;
							}
						}
					}
				}
			}
			trace('total:', total);
		}
		
	}

}